/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.kota105.ui.generic;

import java.util.ArrayList;
import org.kota105.ui.generic.properties.Constant;
import org.kota105.ui.generic.properties.Property;
import java.util.List;

/**
 *
 * @author pikpun
 */
public abstract class View implements Widget {

    public List<Property> defaultProperties;
    public List<Property> properties;
    public boolean isRoot;

    public View() {
        properties = new ArrayList<Property>();
    }

    public List<Property> getProperties() {
        return properties;
    }

    public List<Property> getDefaultProperties() {
        defaultProperties = new ArrayList<Property>();
        defaultProperties.add(new Property(Constant.ALPHA));
        defaultProperties.add(new Property(Constant.BACKGROUND));
        defaultProperties.add(new Property(Constant.CLICKABLE));
        defaultProperties.add(new Property(Constant.CONTENT_DESCRIPTION));
        defaultProperties.add(new Property(Constant.DRAWING_CACHE_QUALITY));
        defaultProperties.add(new Property(Constant.DUPLICATE_PARENT_STATE));
        defaultProperties.add(new Property(Constant.FADING_EDGE));
        defaultProperties.add(new Property(Constant.FADING_EDGE_LENGTH));
        defaultProperties.add(new Property(Constant.FILTER_TOUCHES_WHEN_OBSCURED));
        defaultProperties.add(new Property(Constant.FITS_SYSTEM_WINDOWS));
        defaultProperties.add(new Property(Constant.FOCUSABLE));
        defaultProperties.add(new Property(Constant.FOCUSABLE_IN_TOUCH_MODE));
        defaultProperties.add(new Property(Constant.HAPTIC_FEEDBACK_ENABLED));
        defaultProperties.add(new Property(Constant.ID));
        defaultProperties.add(new Property(Constant.IS_SCROLL_CONTAINER));
        defaultProperties.add(new Property(Constant.KEEP_ON_SCREEN));
        defaultProperties.add(new Property(Constant.LAYER_TYPE));
        defaultProperties.add(new Property(Constant.LONG_CLICKABLE));
        defaultProperties.add(new Property(Constant.MIN_HEIGHT));
        defaultProperties.add(new Property(Constant.MIN_WIDTH));
        defaultProperties.add(new Property(Constant.NEXT_FOCUS_DOWN));
        defaultProperties.add(new Property(Constant.NEXT_FOCUS_FORDWARD));
        defaultProperties.add(new Property(Constant.NEXT_FOCUS_LEFT));
        defaultProperties.add(new Property(Constant.NEXT_FOCUS_RIGHT));
        defaultProperties.add(new Property(Constant.NEXT_FOCUS_UP));
        defaultProperties.add(new Property(Constant.ON_CLICK));
        defaultProperties.add(new Property(Constant.PADDING));
        defaultProperties.add(new Property(Constant.PADDING_BOTTOM));
        defaultProperties.add(new Property(Constant.PADDING_LEFT));
        defaultProperties.add(new Property(Constant.PADDING_RIGHT));
        defaultProperties.add(new Property(Constant.PADDING_TOP));
        defaultProperties.add(new Property(Constant.ROTATION));
        defaultProperties.add(new Property(Constant.ROTATION_X));
        defaultProperties.add(new Property(Constant.ROTATION_Y));
        defaultProperties.add(new Property(Constant.SAVE_ENABLED));
        defaultProperties.add(new Property(Constant.SCALE_X));
        defaultProperties.add(new Property(Constant.SCALE_Y));
        defaultProperties.add(new Property(Constant.SCROLL_X));
        defaultProperties.add(new Property(Constant.SCROLL_Y));
        defaultProperties.add(new Property(Constant.SCROLLBAR_ALWAYS_DRAW_HORIZONTAL_TRACK));
        defaultProperties.add(new Property(Constant.SCROLLBAR_ALWAYS_DRAW_VERTICAL_TRACK));
        defaultProperties.add(new Property(Constant.SCROLLBAR_DEFAULT_DELAY_BEFORE_FADE));
        defaultProperties.add(new Property(Constant.SCROLLBAR_FADE_DURATION));
        defaultProperties.add(new Property(Constant.SCROLLBAR_SIZE));
        defaultProperties.add(new Property(Constant.SCROLLBAR_STYLE));
        defaultProperties.add(new Property(Constant.SCROLLBAR_THUMB_HORIZONTAL));
        defaultProperties.add(new Property(Constant.SCROLLBAR_THUMB_VERTICAL));
        defaultProperties.add(new Property(Constant.SCROLLBAR_TRACK_HORIZONTAL));
        defaultProperties.add(new Property(Constant.SCROLLBAR_TRACK_VERTICAL));
        defaultProperties.add(new Property(Constant.SCROLLBARS));
        defaultProperties.add(new Property(Constant.SOUND_EFFECT_ENABLED));
        defaultProperties.add(new Property(Constant.TAG));
        defaultProperties.add(new Property(Constant.TRANSFORMATION_PIVOT_X));
        defaultProperties.add(new Property(Constant.TRANSFORMATION_PIVOT_Y));
        defaultProperties.add(new Property(Constant.TRANSLATION_X));
        defaultProperties.add(new Property(Constant.TRANSLATION_Y));
        defaultProperties.add(new Property(Constant.VISIBILITY));

        defaultProperties.add(new Property(Constant.LAYOUT_GRAVITY));
        defaultProperties.add(new Property(Constant.LAYOUT_HEIGHT));
        defaultProperties.add(new Property(Constant.LAYOUT_MARGIN));
        defaultProperties.add(new Property(Constant.LAYOUT_MARGIN_TOP));
        defaultProperties.add(new Property(Constant.LAYOUT_MARGIN_LEFT));
        defaultProperties.add(new Property(Constant.LAYOUT_MARGIN_RIGHT));
        defaultProperties.add(new Property(Constant.LAYOUT_MARGIN_BOTTOM));
        defaultProperties.add(new Property(Constant.LAYOUT_WEIGHT));
        defaultProperties.add(new Property(Constant.LAYOUT_WIDTH));


        return defaultProperties;
    }
}
